<?xml version="1.0" encoding="UTF-8"?>
<!-- 
 Copyright (C) 2014 - 2016 Open Source Geospatial Foundation. All rights reserved.
 This code is licensed under the GPL 2.0 license, available at the root
 application directory.
 -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="wcsCoreExtension" class="org.geoserver.platform.ModuleStatusImpl">
      <constructor-arg index="0" value="gs-wcs"/>
      <constructor-arg index="1" value="GeoServer Web Coverage Service"/>
    </bean>
    <!-- The xstream and the legacy service loaders -->
	<bean id="legacyWcsLoader" class="org.geoserver.wcs.WCSLoader"/>
	<bean id="wcsLoader" class="org.geoserver.wcs.WCSXStreamLoader">
	  <constructor-arg ref="resourceLoader"/>
	</bean>
	
    <bean id="wcsFactoryExtension" class="org.geoserver.wcs.WCSFactoryExtension"/>

	<!-- http url mapping -->
	<bean id="wcsURLMapping" class="org.geoserver.ows.OWSHandlerMapping">
		<constructor-arg ref="catalog"/>
		<property name="alwaysUseFullPath" value="true"/>
        <property name="mappings">
          <props>
            <prop key="/wcs">dispatcher</prop>
            <prop key="/wcs/*">dispatcher</prop>
          </props>
        </property>
	</bean>
	
	<bean id="wcsLocalWorkspaceURLManger" class="org.geoserver.ows.LocalWorkspaceURLMangler">
      <constructor-arg value="wcs"/>
    </bean>
    
    <bean id="cqlKvpParser" class="org.geoserver.ows.kvp.CQLFilterKvpParser"/>
    
    <!-- The coverage response delegates and their factory -->
    <bean id="coverageResponseDelegateFactory" class="org.geoserver.wcs.responses.CoverageResponseDelegateFinder"/>
    <bean id="geotiffCoverageResponseDelegate" class="org.geoserver.wcs.responses.GeoTIFFCoverageResponseDelegate">
		<constructor-arg ref="geoServer"/>
	</bean>
    <bean id="imgCoverageResponseDelegate" class="org.geoserver.wcs.responses.IMGCoverageResponseDelegate">
		<constructor-arg ref="geoServer"/>
	</bean>
    <bean id="debugCoverageResponseDelegate" class="org.geoserver.wcs.responses.DebugCoverageResponseDelegate">
		<constructor-arg ref="geoServer"/>
	</bean>
    
    <!-- disposes of all coverages created during GetCoverage calls -->
    <bean id="coverageCleaner" class="org.geoserver.wcs.CoverageCleanerCallback"/>
    
    <bean id="wcsResourceVoter" class="org.geoserver.wcs.WCSResourceVoter"/>
</beans>
